using System;

public interface IMessageData { }

public class MessageData<T> : IMessageData
{
    public Action<T> messageEvents;

    public MessageData(Action<T> action)
    {
        messageEvents += action;
    }
}

public class MessageData :IMessageData
{
    public Action messageEvents;

    public MessageData(Action action)
    {
        messageEvents += action;
    }
}
